Все функции прелоада замена на рид/врайт мемхака, и в любом случае проверь права администратора для варкрафта, например JNGP точно запущен с правами админа и всё норм, права на запись есть, а если вар запускаешь с обычными, то у него не будет прав для записи, файл прелоада не создасться как и writestring и дальше всё поедет... MKDimon, Запусти от админа, отпишись
call SaveInteger(Hash,GetHandleId(GetTriggerUnit()),5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,GetHandleId(GetTriggerUnit()),5555) в другом триггере для проверки выгружаем
рабочий вариант
local integer id = GetHandleId(GetTriggerUnit())
call SaveInteger(Hash,id,5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,id,5555) в другом триггере для проверки выгружаем
Короче вернул обратно локалки, и все заработало. И почему первый вариант не работал. Ладно будут искать подводные камни. Наверное после чистой оптимизации что-то перестало работать. эх... придеться посравнивать. похоже старый код где то мб лучше. только времени потратил на методы тыка.
События на воскрешения юнита нет. Можно попробовать при касте воскрешения проверить всех мертвых юнитов вокруг кастера годных для воскрешения, а спустя 0.00 секунд проверить кто в группе мертвых ожил, хз. Тут только костылями выкручиваться либо делать свою систему воскрешения/воспользоваться южапи, если там есть соответствующая функция
Была прям один в один ситуация. Игра крашица скорее всего от того, что что bounds выходит за пределы карты. Оставляй отступ от краев.
и даже не границы карты, а границы обзора вродебы ломают все
попробуй rect создать на карте, чтобы он был внутри границы обзора. И bounds выставляй по нему.
Событие:
Юнит умирает
Условие:
Количество типов юнитов "Казарма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Ферма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Олодом" равно 0 or тип юнита "Казарма" из мертв равно да
Событие:
Задание выполнено-показать блаблабла (не важно)
Я с этим согласен, но можно было б
Событие: каждые 0.05сек.
Условия
Кол-во тип юнита "Казармы" В ОБЛАСТИ равно 0
Кол-во тип юнита "Ферма" В ОБЛАСТИ равно 0
Кол-во тип юнита "Олодом" В ОБЛАСТИ равно 0
ОБЛАСТЬ создай и помести в неё все свои домики
Действие:
Твоё что ты там хочешь.....
Только проблема: я не помню есть ли такое условие..*(
The Dude, это несерьезно. Все вопросы описаны в большом количестве статей здесь, на нашем сайте - xgm.guru/p/wc3/articles. То, что перечисляешь не верх мастерства WE, а базовые знания. Материалов предостаточно. Успехов в обучении.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Вроде бы удалось решить проблему самостоятельно. Ошибка действительно была элементарной - идентификатор не устраивал введённый туда заглавный символ, а я не знал об этом. Простите за беспокойство.
Я не особо разбираюсь в англоязычном варианте триггеров, но у вас вроде стоит "Удалить - последний брошенный предмет", вам нужно "Удалить - Предмет переносимый [герой] типа [название предмета]". Если мой руссификатор не влияет на последовательность пунктов в настройке, то вы использовали третью строчку, а вам нужна девятая. Там вы можете удалить конкретный предмет у конкретного же персонажа.
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
действие проиграть звук и указываешь твою фразу
выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
Неуязвимость проверяют через даммика с атакой, через приказ, сможет ли атаковать или нет, просто проверка выполнения приказа. Так же пытаются нанести урон и смотрят сколько он отнял здоровья, так можно и определить неуязвимость и вычислить резист юнита к конкретному типу урона.
Меняется - можно поставить свой бафф, что сделан на основе оригинальный. Естественно, нельзя сделать так, чтобы отравленные стрелы станили.
Стан только у баша.
Почему бы не сделать привязку к классу героя: танки не будут получать очки за исцеление, дд-шеры за полученный урон, а лекари за нанесенный урон. Тем самым, стату можно будет набивать исключительно выполняя свою роль.
ну нажимаешь предмет там срабатывает тригерный спел который смотрит в инвенторе нужный паредмет высчитывает его количество по стакам дальше выставляет на месте каста нужного юнита
тут есть система увелечения хп,и функции увеличивающие и определяющие заряд предмета в тригах посмотрите
Берем любую пассивную способность и меняем в поле "Графика-цель" нам на нужную модель. Я заменил на "Адский дракон". А за основу взял способность "Аура выносливости". Теперь берем или создаем героя, добавляем ему нашу способность. Модель моего героя "Волшебница". Ставим на карту и проверяем.
Вот что у меня вышло:
Ну не обязательно строительство делать, достаточно дать морф с временем жизни как у яйца феникса, так будет проще.
Событие - юнит применил способность, условие - примененная способность = твоя способность, действие вручить морф яйца феникса и установить время жизни на 15 сек. Смотри как устроен феникс чародея крови.
Можно сделать полностью триггерно, вариантов уйма, можно вместо строительсва, сделать сразу после слияния промежуточного юнита, а ему настроить апгрейд в архонта и при применении слияния, автоматически начинать апгрейд в архонта.
reaper1691, так в чем проблема? Морф, две формы героя, один конь, одна способность-пустышка отвечающая за выбор коня и запуск триггера, который коня скроет, а герою запустит морф через предмет-руну, еще одна способность-пустышка, которая отвечает за запуск триггера запускающего обратный морф, телепортацию коня к герою и отмену скрытия коня.
Дик, переменную можно скормить этому триггеру через JASS или Lua, но событие запишется на основании значения переменной на момент добавления события - можно сколько угодно менять переменную после этого, но триггер будет работать только на того юнита который был записан в переменную на момент когда добавлялось событие. Возможно действие "добавить событие к триггеру" в ГУИ тоже так умеет.
Чтобы выяснить, от чего конкретно фатал, отключай по одному типы декораций.
Я делал подобное, но вместо декораций использовал юнитов - мне нужно было отловить взаимодействие с ними (рубка деревьев, добыча камней, сбор ягод с кустов и т. д.).
Фатал происходил, когда я делал всё в одном триггере и сразу. Потом мне посоветовали уменьшить цикл, сделать перерыв в 0.01 с. и перезапускать триггер. Методом тыка определил максимальное количество, при котором не вылетает. Потом сделал с запасом, чтобы на слабых компах не критовало - и всё работает идеально.
Ты не обнуляешь переменную, а удаляешь юнита из игры. Запись верная.
Обнуление будет таким.
set udg_EfectRudnik[bj_forLoopAIndex] = null
Но нет смысла обнулять глобалки.
Группы - это тоже объект, как и юнит, вот только юнит имеет визуальную составляющую (его видно глазами), а группа нет.
Изначально массив групп создаёт группу (новая группа всегда пустая) для ячеек 0, ..., размер_массива (указывается в настройках переменной). Во всех остальных ячейках групп просто нет, там нули.
Если группа больше не нужна, её нужно уничтожить (call DestroyGroup(g)), в GUI такого действия нет. После этого группы не существует. Если попытаться что-то добавить в эту группу через переменную, что всё ещё на неё ссылается, ничего не произойдёт.
GUI действия типа "Выбрать юнитов в области" создают новую группу каждый раз, что может вызывать утечки. Потому такие вызовы лучше всего записывать в переменную, делать необходимые действия, а потом уничтожать (не очищать!).
А что мешает отслеживать изменение содержимого инвентаря? Т.е. получение предмета, который подходит для манипуляций, после чего поочерёдно проверять только те списки, в которых этот предмет участвует... ну и делать что надо
Так ведь я так и делаю. Юнит получает предмет, содержимое его инвентаря записывается в таблицу. И вот, я не могу придумать по какой схеме мне сравнить эту таблицу со списками рецептов. Вот есть TransfigurationData.List[ID] в нём списки TransfigurationData.List[ID][ID1,2,3,4,5....]
Нужно как-то сделать проверку есть ли в списке TransfigurationData.List[0][1](как пример) то что в инвентаре героя, если да то убрать их и выдать TransfigurationData.Result[Тот же ID что и у List] :)
О ес, оно заработало я сам всё решил. Спасибо за внимание :)
if SubString(ChatString, 0, CommandsListSubstringEnd[CommandsListMaxCounter]) == CommandsList[CommandsListMaxCounter] then //-cam, -Cam
// высчитывать Значение Цикла CommandsListMaxCounter внутри переменной CommandsListSubstringEnd
endif
он подберет Индекс CommandsListMaxCounter и будет проверять CommandsListSubstringEnd на наличие Меньшего Значения начиная с 1 до
CommandsListMax
его сразу надо высчитывать чтобы значения цикла не высчитывались
if SubString(ChatString, 0, CommandsListSubstringEnd[CommandsListMax]) == CommandsList[CommandsListMaxCounter] then
так должно выглядеть
отработает 1 раз для CommandsList с привязкой к СommandsListSubstringEnd
» WarCraft 3 / Ломается система динамичной цены найма юнита
» Администрация XGM / Восстановить комментарий
» WarCraft 3 / Возможность поворота всей карты
» Администрация XGM / Ошибка при заходе
» WarCraft 3 / Задания в редакторе отобразить определенным игрокам
» WarCraft 3 / Вопрос по триггерной способности
» WarCraft 3 / Модель
» WarCraft 3 / Система урона в варкрафте.
» WarCraft 3 / Стаки предметов
» WarCraft 3 / Способность Оживление мертвых
» WarCraft 3 / Оседлать
» WarCraft 3 / Список в JASS
» WarCraft 3 / Можно ли как-то проверить расу юнита?
» WarCraft 3 / Генератор декораций.
» WarCraft 3 / Точка за пределами камеры
» WarCraft 3 / Проверка наличия приказа
» WarCraft 3 / Как правильно использовать boolexpr?
» WarCraft 3 / Массивы и циклы